#include "SMG.h"
#include "ultrasonic.h"
//数码管码表        //	 0     1     2     3     4     5     6     7     8     9
uchar code smgduan[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 	\
					//  10 A, 11 B, 12 C, 13 D, 14 E, 15 F, 16 -, 17灭, 18 U, 19 P  20 N  21 H
						0x88, 0x80, 0xC6, 0xC0, 0x86, 0x8E, 0xBF, 0xFF, 0xC1, 0x8C, 0xC8, 0x89
};

//界面显示
uchar menu_index = 0;	//界面索引
uchar xdata menu1[8];
uchar xdata menu2[8];
uchar xdata menu3[8];
uchar xdata menu4[8];
uchar xdata menu5[8];
uchar xdata menu6[8];

unsigned char Param_mueu_index = 0;

//数码管界面显示的变量
unsigned char test_num;
float f_Temperature;
unsigned char temperature_param = 35;
float f_Dac_Vol;

unsigned int Frequency_Data;
int Ultra_Distance = 50;
unsigned char uc_PCF_ADC_0x03_Data;

//参数设置
unsigned int  Param_Frequrncy = 9000;
unsigned char Param_Distance = 60;
unsigned char Param_Shidu = 40;



void SMG_Show_Data(void)
{	
	//界面menu_index0 ---频率Hz显示界面--------------------------------------------------------------
	menu1[0] = smgduan[15];		//显示F
	menu1[1] = smgduan[17];
	menu1[2] = smgduan[17];
//	if (Fre_Hz_KHz_change == 0)	//Hz单位显示
//	{
//		if (Frequency_Data >= 10000)//消除数据最高位 0 的操作
//		{
//			menu1[3] = smgduan[Frequency_Data /10000 % 10];
//			menu1[4] = smgduan[Frequency_Data /1000 % 10];		//温度数据
//			menu1[5] = smgduan[Frequency_Data /100 % 10];	//显示小数点
//			menu1[6] = smgduan[Frequency_Data /10 % 10];
//			menu1[7] = smgduan[Frequency_Data /1 % 10];
//		}
//		else if (Frequency_Data >= 1000 && Frequency_Data < 10000)
//		{
//			menu1[3] = smgduan[17];
//			menu1[4] = smgduan[Frequency_Data /1000 % 10];		//温度数据
//			menu1[5] = smgduan[Frequency_Data /100 % 10];	//显示小数点
//			menu1[6] = smgduan[Frequency_Data /10 % 10];
//			menu1[7] = smgduan[Frequency_Data /1 % 10];
//		}
//		else if (Frequency_Data >= 100 && Frequency_Data < 1000)
//		{
//			menu1[3] = smgduan[17];
//			menu1[4] = smgduan[17];		//温度数据
//			menu1[5] = smgduan[Frequency_Data /100 % 10];	//显示小数点
//			menu1[6] = smgduan[Frequency_Data /10 % 10];
//			menu1[7] = smgduan[Frequency_Data /1 % 10];
//		}
//		else if (Frequency_Data >= 10 && Frequency_Data < 100)
//		{
//			menu1[3] = smgduan[17];
//			menu1[4] = smgduan[17];		//温度数据
//			menu1[5] = smgduan[17];	//显示小数点
//			menu1[6] = smgduan[Frequency_Data /10 % 10];
//			menu1[7] = smgduan[Frequency_Data /1 % 10];
//		}
//	}
//	else if (Fre_Hz_KHz_change == 1)//KHz单位显示
//	{
//		menu1[3] = smgduan[17];
//		menu1[4] = smgduan[17];
//		
//		if (Frequency_Data >= 10000)
//		{
//			menu1[5] = smgduan[Frequency_Data /10000 % 10];	//显示小数点
//			menu1[6] = smgduan[Frequency_Data /1000 % 10]&0x7F;
//			menu1[7] = smgduan[Frequency_Data /100 % 10];
//		}
//		else if (Frequency_Data >= 1000 && Frequency_Data < 10000)
//		{
//			menu1[5] = smgduan[17];	//显示小数点
//			menu1[6] = smgduan[Frequency_Data /1000 % 10]&0x7F;
//			menu1[7] = smgduan[Frequency_Data /100 % 10];
//		}
//		else if (Frequency_Data >= 100 && Frequency_Data < 1000)
//		{
//			menu1[5] = smgduan[17];	//显示小数点
//			menu1[6] = smgduan[0]&0x7F;
//			menu1[7] = smgduan[Frequency_Data /100 % 10];
//		}		
//	}
	

	//界面menu_index1 --- 湿度 显示界面-------------------------------------------------------------------
	menu2[0] = smgduan[21];		//显示H
	menu2[1] = smgduan[17];		//熄灭
	menu2[2] = smgduan[17];
	menu2[3] = smgduan[17];		
	menu2[4] = smgduan[17];
//	menu2[5] = smgduan[(int)(uc_PCF_ADC_0x03_Data*0.39) / 100 % 10];	//uc_PCF_ADC_0x03_Data/255*100是将读取到的数据(0~255)映射到0~100, 相当于*.039,转换成浮点数，然后将其强制类型转换, 
//	menu2[6] = smgduan[(int)(uc_PCF_ADC_0x03_Data*0.39) / 10 % 10];
//	menu2[7] = smgduan[(int)(uc_PCF_ADC_0x03_Data*0.39) / 1 % 10];



	//界面menu_index2 --- 超声波距离显示界面-----------------------------------------------------------
	menu3[0] = smgduan[10];		//显示 A
	menu3[1] = smgduan[17];		
	menu3[2] = smgduan[17];		
	menu3[3] = smgduan[17];
	menu3[4] = smgduan[17];
//	if (Distance_M_CM_change == 0)	//M单位界面显示
//	{
//		if (Ultra_Distance >= 100)
//		{
//			menu3[5] = smgduan[Ultra_Distance / 100 %10];	
//			menu3[6] = smgduan[Ultra_Distance / 10 %10];
//			menu3[7] = smgduan[Ultra_Distance / 1 % 10];
//		}
//		else if (Ultra_Distance >= 10 && Ultra_Distance < 100)
//		{
//			menu3[5] = smgduan[17];	
//			menu3[6] = smgduan[Ultra_Distance / 10 %10];
//			menu3[7] = smgduan[Ultra_Distance / 1 % 10];
//		}
//		else if (Ultra_Distance < 10)
//		{
//			menu3[5] = smgduan[17];	
//			menu3[6] = smgduan[17];
//			menu3[7] = smgduan[Ultra_Distance / 1 % 10];
//		}
//	}
//	else if (Distance_M_CM_change == 1)	//CM单位界面显示
//	{
//		if (Ultra_Distance >= 100)
//		{
//			menu3[5] = smgduan[Ultra_Distance / 100 %10]&0x7F;	
//			menu3[6] = smgduan[Ultra_Distance / 10 %10];
//			menu3[7] = smgduan[Ultra_Distance / 1 % 10];
//		}
//		else if (Ultra_Distance >= 10 && Ultra_Distance < 100)
//		{
//			menu3[5] = smgduan[0]&0x7F;		// 0.
//			menu3[6] = smgduan[Ultra_Distance / 10 %10];
//			menu3[7] = smgduan[Ultra_Distance / 1 % 10];
//		}
//		else if (Ultra_Distance < 10)
//		{
//			menu3[5] = smgduan[0]&0x7F;	
//			menu3[6] = smgduan[0];
//			menu3[7] = smgduan[Ultra_Distance / 1 % 10];
//		}
//	}
	
	
                                    
	//界面menu_index3 --- 参数显示界面------------------------------------------------------------                          
	menu4[0] = smgduan[19];		//显示 P
	menu4[2] = smgduan[17];		//熄灭码
	menu4[3] = smgduan[17];
	menu4[4] = smgduan[17];
//	if (Param_mueu_index == 0)	//频率参数界面
//	{
//		menu4[1] = smgduan[1];	//P1
//		if (Param_Frequrncy >=10000)	//消除最高位0的判断
//		{
//			menu4[5] = smgduan[Param_Frequrncy / 10000 % 10];
//			menu4[6] = smgduan[Param_Frequrncy / 1000 % 10]&0x7F;
//			menu4[7] = smgduan[Param_Frequrncy / 100 % 10];
//		}
//		else if (Param_Frequrncy < 10000)
//		{
//			menu4[5] = smgduan[17];
//			menu4[6] = smgduan[Param_Frequrncy / 1000 % 10]&0x7F;
//			menu4[7] = smgduan[Param_Frequrncy / 100 % 10];
//		}
//		
//	}
//	else if (Param_mueu_index == 1)	//湿度参数界面
//	{
//		menu4[1] = smgduan[2];	//P2
//		menu4[5] = smgduan[17];
//		menu4[6] = smgduan[Param_Shidu / 10];	//湿度显示
//		menu4[7] = smgduan[Param_Shidu % 10];
//	}
//	else if (Param_mueu_index == 2)	//距离参数界面
//	{
//		menu4[1] = smgduan[3];	//P3
//		menu4[5] = smgduan[17];
//		menu4[6] = smgduan[Param_Distance / 100 % 10]&0x7F;		//**cm转换成*.*m
//		menu4[7] = smgduan[Param_Distance / 10 % 10];
//	}
	
	
//	//界面5 --- ...
//	menu5[0] = smgduan[17];
//	menu5[1] = smgduan[17];
//	menu5[2] = smgduan[17];
//	menu5[3] = smgduan[17];
//	menu5[4] = smgduan[17];
//	menu5[5] = smgduan[17];
//	menu5[6] = smgduan[17];
//	menu5[7] = smgduan[17];
//	//界面6 --- ...
//	menu6[0] = smgduan[17];
//	menu6[1] = smgduan[17];
//	menu6[2] = smgduan[17];
//	menu6[3] = smgduan[17];
//	menu6[4] = smgduan[17];
//	menu6[5] = smgduan[17];
//	menu6[6] = smgduan[17];
//	menu6[7] = smgduan[17];
}


void Delay_ms(unsigned int xms)		//@12.000MHz
{
	unsigned char i, j;

	while(xms--)
	{
		i = 12;
		j = 169;
		do
		{
			while (--j);
		} while (--i);
	}
	
}



